跳到主要内容

程序化渲染(Procedural Rendering)

本页介绍如何在 Unity 里用 Rive 的绘制原语进行程序化渲染(非 .riv 设计稿主流程)。

可用核心类型

  • BlendMode
  • Color
  • Gradient(Linear/Radial)
  • Paint
  • PaintingStyle
  • Path
  • StrokeCap
  • StrokeJoin

基础流程

  1. 创建 RenderQueueRenderer
  2. 创建 PathPaint
  3. 调用 Draw(path, paint)
  4. 在更新循环中改 Path/Paint 并 Flush()

示例起手:

m_renderQueue = new RenderQueue(renderTexture);
m_riveRenderer = m_renderQueue.Renderer();

m_path = new Path();
m_paint = new Paint();
m_riveRenderer.Draw(m_path, m_paint);

Path 常用方法

  • MoveTo
  • LineTo
  • Circle
  • CubicTo
  • QuadTo
  • AddPath
  • Close
  • Reset
  • Flush

Paint 常用属性

  • 颜色(Color)
  • 样式(Fill/Stroke)
  • 厚度(Thickness)
  • BlendMode
  • StrokeCap / StrokeJoin

修改后记得 Flush() 同步到 native 内存。

示例

官方示例展示了如何在 RenderTexture 上绘制动态三角形,并随时间改变路径与线宽。

可在示例工程的 ProceduralRenderingScene 里查看完整实现。